﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;

namespace mas_apredizaje.BD
{
    class crearprueba
    {
        private conexion conn = new conexion();

        public DataSet allpreguntas()
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT t1.idPregunta,t1.respuesta,t3.nombreNivel,t2.nombre FROM pregunta AS t1 JOIN area AS t2 ON t1.idArea=t2.idArea JOIN nivel AS t3 ON t1.idNivel = t3.idNivel ", conn.conector);
            da.Fill(ds, "cargar");
            conn.desconectar();
            return ds;
        }
        public DataSet preguntasfiltro(int area,int nivel)
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT t1.idPregunta,t1.respuesta,t3.nombreNivel,t2.nombre FROM pregunta AS t1 JOIN area AS t2 ON t1.idArea=t2.idArea JOIN nivel AS t3 ON t1.idNivel = t3.idNivel where t1.idNivel=" + area + "and t1.idArea=" + nivel + "", conn.conector);
            da.Fill(ds, "resultado");
            conn.desconectar();
            return ds;
        }
        public void nuevaprueba(clases.PruebaPregunta p)
        {
            conn.conectar();
            SqlDataAdapter da = new SqlDataAdapter();
            da.InsertCommand = new SqlCommand("insert into prueba (descripcion,rutProfesor,estado) values(@decripcion,@rutProfesor,@estado)", conn.conector);
            da.InsertCommand.Parameters.Add(new SqlParameter("@decripcion",p.descripcion ));
            da.InsertCommand.Parameters.Add(new SqlParameter("@rutProfesor", p.rutProfesor));
            da.InsertCommand.Parameters.Add(new SqlParameter("@estado", p.estado));  
            da.InsertCommand.ExecuteNonQuery();
            conn.desconectar();
        }
        public void Npregutnasprueba(clases.PruebaPregunta p1)
        {
            conn.conectar();
            SqlDataAdapter da = new SqlDataAdapter();
            da.InsertCommand = new SqlCommand("insert into pregunta_prueba (idPregunta,idPueba) values(@idPregunta,@idPrueba)", conn.conector);
            da.InsertCommand.Parameters.Add(new SqlParameter("@idPregunta", p1.idPregunta));
            da.InsertCommand.Parameters.Add(new SqlParameter("@idPrueba", p1.idPrueba));           
            da.InsertCommand.ExecuteNonQuery();
            conn.desconectar();
        }
        //comboboxes
        public DataSet cargararea()
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT area.nombre from area", conn.conector);
            da.Fill(ds, "area");
            conn.desconectar();
            return ds;
        }
        public DataSet idarea(string area)
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT idArea from area where nombre=@nombre", conn.conector);
            da.SelectCommand.Parameters.Add(new SqlParameter("@nombre", area));
            da.Fill(ds, "id");
            conn.desconectar();
            return ds;
        }
        public DataSet idnivel(string nivel)
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT idNivel from nivel where nombreNivel=@nombreNivel", conn.conector);
            da.SelectCommand.Parameters.Add(new SqlParameter("@nombreNivel", nivel));
            da.Fill(ds, "idn");
            conn.desconectar();
            return ds;
        }
        public DataSet idprueba(string des)
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT idPrueba from prueba where descripcion=@descripcion", conn.conector);
            da.SelectCommand.Parameters.Add(new SqlParameter("@descripcion", des));
            da.Fill(ds, "idp");
            conn.desconectar();
            return ds;
        }    


    }
}
